package com.xy.blog.user.service;

import com.xy.blog.core.exception.BaseException;
import com.xy.blog.core.springmvc.result.page.PageReq;
import com.xy.blog.core.springmvc.result.page.PageResp;
import com.xy.blog.user.controller.model.req.query.UserQuery;
import com.xy.blog.user.service.model.UserBO;

/**
 * @author zanhonglei
 * @version V1.0
 * @Description: 用户业务层
 * @date 2019/10/21 21:40
 */
public interface IUserService {

    /**
     * 分页获取所有用户信息
     * @return
     */
    PageResp<UserBO>  listPage(PageReq<UserQuery> req);

    /**
     * 新增用户
     * @param userBO
     */
    void saveUser(UserBO userBO) throws BaseException;

    /**
     * 根据用户id删除用户
     * @param id
     */
    void deleteById(Long id) throws BaseException;

    /**
     * 更新用户
     * @param userBO
     */
    void updateUser(UserBO userBO) throws BaseException;

    /**
     * 根据用户id获取用户
     * @param id
     * @return
     */
     UserBO getUserById(Long id);

}
